]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
gactionmuxer: Fix list_actions
authorJasper St. Pierre <jstpierre@mecheye.net>
Fri, 30 Mar 2012 16:19:13 +0000 (12:19 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Wed, 2 May 2012 20:26:07 +0000 (16:26 -0400)
The code there before was just completely wrong

https://bugzilla.gnome.org/show_bug.cgi?id=673177

src/gactionmuxer.c

index 7b49a38d16fa6a08c462734d2b20cb19987f8710..d8383064d290b96b24ef4143cec41b26394ee001 100644 (file)
@@ -94,8 +94,20 @@ static gchar **
 g_action_muxer_list_actions (GActionGroup *action_group)
 {
   GActionMuxer *muxer = G_ACTION_MUXER (action_group);
+  GHashTableIter iter;
+  gchar *key;
+  gchar **keys;
+  gsize i;
 
-  return (gchar **) muxer->groups;
+  keys = g_new (gchar *, g_hash_table_size (muxer->actions) + 1);
+
+  i = 0;
+  g_hash_table_iter_init (&iter, muxer->actions);
+  while (g_hash_table_iter_next (&iter, (gpointer *) &key, NULL))
+    keys[i++] = g_strdup (key);
+  keys[i] = NULL;
+
+  return keys;
 }
 
 static Group *